Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

IdeRenderTexture Class Reference

#include <deRenderStates.hpp>

Inheritance diagram for IdeRenderTexture:

Inheritance graph
[legend]
Collaboration diagram for IdeRenderTexture:

Collaboration graph
[legend]
List of all members.

Public Types

enum  TextureOp {
  TEXTUREOP_INVALID = -1, TEXTUREOP_DISABLE = 0, TEXTUREOP_SELECTARG1, TEXTUREOP_SELECTARG2,
  TEXTUREOP_MODULATE, TEXTUREOP_MODULATE2X, TEXTUREOP_MODULATE4X, TEXTUREOP_ADD,
  TEXTUREOP_ADDSIGNED, TEXTUREOP_ADDSIGNED2X, TEXTUREOP_SUBTRACT, TEXTUREOP_ADDSMOOTH,
  TEXTUREOP_BLENDDIFFUSEALPHA, TEXTUREOP_BLENDTEXTUREALPHA, TEXTUREOP_BLENDFACTORALPHA, TEXTUREOP_BLENDTEXTUREALPHAPM,
  TEXTUREOP_BLENDPREVIOUSALPHA, TEXTUREOP_PREMODULATE, TEXTUREOP_MODULATEALPHA_ADDCOLOR, TEXTUREOP_MODULATECOLOR_ADDALPHA,
  TEXTUREOP_MODULATEINVALPHA_ADDCOLOR, TEXTUREOP_MODULATEINVCOLOR_ADDALPHA, TEXTUREOP_BUMPENVMAP, TEXTUREOP_BUMPENVMAPLUMINANCE,
  TEXTUREOP_DOTPRODUCT3, TEXTUREOP_MULTIPLYADD, TEXTUREOP_LERP, TEXTUREOP_COUNT,
  TEXTUREOP_FORCE_32BIT = 0x7FFFFFFF
}
 texture operations More...

enum  TextureArg {
  TEXTUREARG_INVALID = 0, TEXTUREARG_PREVIOUS = 0x0001, TEXTUREARG_DIFFUSE = 0x0002, TEXTUREARG_SPECULAR = 0x0004,
  TEXTUREARG_TEXTURE = 0x0010, TEXTUREARG_TFACTOR = 0x0020, TEXTUREARG_TEMPREG = 0x0040, TEXTUREARG_ALPHAREPLICATE = 0x0100,
  TEXTUREARG_COMPLEMENT = 0x0200, TEXTUREARG_COUNT, TEXTUREARG_FORCE_32BIT = 0x7FFFFFFF
}
 texture arguments More...

enum  TextureAddress {
  TEXTUREADDRESS_INVALID = -1, TEXTUREADDRESS_WRAP = 0, TEXTUREADDRESS_MIRROR, TEXTUREADDRESS_CLAMP,
  TEXTUREADDRESS_COUNT, TEXTUREADDRESS_FORCE_32BIT = 0x7FFFFFFF
}
 texture addressing modes More...

enum  TextureFilter {
  TEXTUREFILTER_INVALID = -1, TEXTUREFILTER_NONE = 0, TEXTUREFILTER_POINT, TEXTUREFILTER_LINEAR,
  TEXTUREFILTER_ANISOTROPIC, TEXTUREFILTER_COUNT, TEXTUREFILTER_FORCE_32BIT = 0x7FFFFFFF
}
 texture filtering modes More...

enum  TextureCoordSource {
  TEXCOORD_INVALID = -1, TEXCOORD_NOPROCESSING = 0x00000000, TEXCOORD_VIEWSPACE_NORMAL = 0x00010000, TEXCOORD_VIEWSPACE_POSITION = 0x00020000,
  TEXCOORD_VIEWSPACE_REFLECTIONVECTOR = 0x00030000, TEXCOORD_FORCE_32BIT = 0x7FFFFFFF
}

Public Member Functions

virtual IdeRenderState::Type GetRSType () const=0
virtual deBoolean SetColorOperation (long Stage, TextureOp ColorOp)=0
 Set the Texture Stage's color operation.

virtual deBoolean SetAlphaOperation (long Stage, TextureOp AlphaOp)=0
 Set the Texture Stage's alpha operation.

virtual deBoolean SetResultTarget (long Stage, TextureArg Target)=0
 Set where the result of this operation will go - either PREVIOUS or TEMPREG.

virtual TextureOp GetColorOperation (long Stage) const=0
virtual TextureOp GetAlphaOperation (long Stage) const=0
virtual TextureArg GetResultTarget (long Stage)=0
virtual deBoolean SetColorArg (long Stage, long ArgNum, TextureArg Arg)=0
virtual deBoolean SetAlphaArg (long Stage, long ArgNum, TextureArg Arg)=0
virtual TextureArg GetColorArg (long Stage, long ArgNum) const=0
virtual TextureArg GetAlphaArg (long Stage, long ArgNum) const=0
virtual deBoolean SetBitmap (long Stage, IdeBitmapProxy *Bitmap)=0
 Set the Texture Stage's source bitmap.

virtual IdeBitmapProxyGetBitmap (long Stage) const=0
 Retrieve the Texture Stage's source bitmap.

virtual deBoolean SetTextureAddressU (long Stage, TextureAddress Address)=0
 Set the Texture Stage's U (horizontal) addressing mode.

virtual deBoolean SetTextureAddressV (long Stage, TextureAddress Address)=0
 Set the Texture Stage's V (vertical) addressing mode.

virtual TextureAddress GetTextureAddressU (long Stage) const=0
virtual TextureAddress GetTextureAddressV (long Stage) const=0
virtual deBoolean SetTextureMinFilter (long Stage, TextureFilter Filter)=0
 Set the Texture Stage's minification filter (when more than 1 texel is in a screen pixel).

virtual deBoolean SetTextureMagFilter (long Stage, TextureFilter Filter)=0
 Set the Texture Stage's magnification filter (when 1 texel affects more than 1 screen pixel).

virtual deBoolean SetTextureMipFilter (long Stage, TextureFilter Filter)=0
 Set the Texture Stage's mipmap filter (when blending between two mipmaps).

virtual TextureFilter GetTextureMinFilter (long Stage) const=0
virtual TextureFilter GetTextureMagFilter (long Stage) const=0
virtual TextureFilter GetTextureMipFilter (long Stage) const=0
virtual deBoolean SetTexCoordSource (long Stage, long SourceStage)=0
virtual deBoolean SetTexCoordGen (long Stage, TextureCoordSource SourcePipe, long CopyWrapModeStage=0)=0
virtual deBoolean GetTexCoordSource (long Stage, long &SourceStage, TextureCoordSource &SourceFlags)=0
virtual long GetTexCoordSourceCombined (long Stage)=0
virtual deBoolean SetTextureProjection (long Stage, deBoolean Enable)=0
virtual deBoolean GetTextureProjection (long Stage)=0
virtual deBoolean CopyStageSettings (IdeRenderTexture *Target, long SourceStage, long TargetStage) const=0

Protected Member Functions

virtual ~IdeRenderTexture ()

Detailed Description

the texture renderstate class
Todo:
split IdeRenderTexture into 2 separate ones - TextureSet and FFPixel


Member Enumeration Documentation

enum IdeRenderTexture::TextureAddress
 

texture addressing modes

Enumeration values:
TEXTUREADDRESS_INVALID 
TEXTUREADDRESS_WRAP  wrap a texture for U or V
TEXTUREADDRESS_MIRROR  mirror the texture for U or V
TEXTUREADDRESS_CLAMP  clamp the texture
TEXTUREADDRESS_COUNT 
TEXTUREADDRESS_FORCE_32BIT 

enum IdeRenderTexture::TextureArg
 

texture arguments

Enumeration values:
TEXTUREARG_INVALID 
TEXTUREARG_PREVIOUS  use result of previous blending
TEXTUREARG_DIFFUSE  use diffuse color
TEXTUREARG_SPECULAR  use specular color
TEXTUREARG_TEXTURE  use texture itself
TEXTUREARG_TFACTOR  use color argument supplied with RENDER_TEXTUREFACTOR renderstate
TEXTUREARG_TEMPREG  can be used as a destination or source for intermediate calculations
TEXTUREARG_ALPHAREPLICATE  replicate alpha to all color channels
TEXTUREARG_COMPLEMENT  invert the argument
TEXTUREARG_COUNT 
TEXTUREARG_FORCE_32BIT 

enum IdeRenderTexture::TextureCoordSource
 

Enumeration values:
TEXCOORD_INVALID 
TEXCOORD_NOPROCESSING 
TEXCOORD_VIEWSPACE_NORMAL 
TEXCOORD_VIEWSPACE_POSITION 
TEXCOORD_VIEWSPACE_REFLECTIONVECTOR 
TEXCOORD_FORCE_32BIT 

enum IdeRenderTexture::TextureFilter
 

texture filtering modes

Enumeration values:
TEXTUREFILTER_INVALID 
TEXTUREFILTER_NONE  no filterning (default for mip-maps)
TEXTUREFILTER_POINT  Closest-point filter.
TEXTUREFILTER_LINEAR  linear blending filter (bilinear, trilinear)
TEXTUREFILTER_ANISOTROPIC  anisotropic blending filter
TEXTUREFILTER_COUNT 
TEXTUREFILTER_FORCE_32BIT 

enum IdeRenderTexture::TextureOp
 

texture operations

Enumeration values:
TEXTUREOP_INVALID 
TEXTUREOP_DISABLE  no texture operation
TEXTUREOP_SELECTARG1  use texture arg1 as output
TEXTUREOP_SELECTARG2  use texture arg2 as output
TEXTUREOP_MODULATE  S = A * B.
TEXTUREOP_MODULATE2X  S = (A * B) << 1.
TEXTUREOP_MODULATE4X  S = (A * B) << 2.
TEXTUREOP_ADD  S = A + B.
TEXTUREOP_ADDSIGNED  S = A + B - 0.5.
TEXTUREOP_ADDSIGNED2X  S = (A + B - 0.5) << 1.
TEXTUREOP_SUBTRACT  S = A - B.
TEXTUREOP_ADDSMOOTH  S = A + B - (A * B).
TEXTUREOP_BLENDDIFFUSEALPHA  blend based on alpha of all previous textures
TEXTUREOP_BLENDTEXTUREALPHA  blend based on this texture's alpha
TEXTUREOP_BLENDFACTORALPHA  blend based on scalar alpha
TEXTUREOP_BLENDTEXTUREALPHAPM  blend based on this texture's alpha (alpha is pre-multiplied)
TEXTUREOP_BLENDPREVIOUSALPHA  blend based on alpha of previous texture
TEXTUREOP_PREMODULATE  modulate texture with next texture stage
TEXTUREOP_MODULATEALPHA_ADDCOLOR  S = A.rgb + (A.a * B.rgb).
TEXTUREOP_MODULATECOLOR_ADDALPHA  S = (A.rgb * B.rgb) + A.a.
TEXTUREOP_MODULATEINVALPHA_ADDCOLOR  S = (1 - A.a) * B.rgb + A.rgb.
TEXTUREOP_MODULATEINVCOLOR_ADDALPHA  S = (1 - A.rgb) * B.rgb + A.a.
TEXTUREOP_BUMPENVMAP  bump mapping using environment of next texture stage without luminance
TEXTUREOP_BUMPENVMAPLUMINANCE  bump mapping using environment of next texture stage with luminance
TEXTUREOP_DOTPRODUCT3  S = (A.r * B.r) + (A.g * B.g) + (A.b * B.b).
TEXTUREOP_MULTIPLYADD  S = A + (B * C).
TEXTUREOP_LERP  S = (A * B) + ((1 - A) * C).
TEXTUREOP_COUNT 
TEXTUREOP_FORCE_32BIT 


Constructor & Destructor Documentation

virtual IdeRenderTexture::~IdeRenderTexture   [inline, protected, virtual]
 


Member Function Documentation

virtual deBoolean IdeRenderTexture::CopyStageSettings IdeRenderTexture *    Target,
long    SourceStage,
long    TargetStage
const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureArg IdeRenderTexture::GetAlphaArg long    Stage,
long    ArgNum
const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureOp IdeRenderTexture::GetAlphaOperation long    Stage const [pure virtual]
 

Implemented in deRenderTexture.

virtual IdeBitmapProxy* IdeRenderTexture::GetBitmap long    Stage const [pure virtual]
 

Retrieve the Texture Stage's source bitmap.

Implemented in deRenderTexture.

virtual TextureArg IdeRenderTexture::GetColorArg long    Stage,
long    ArgNum
const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureOp IdeRenderTexture::GetColorOperation long    Stage const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureArg IdeRenderTexture::GetResultTarget long    Stage [pure virtual]
 

Implemented in deRenderTexture.

virtual IdeRenderState::Type IdeRenderTexture::GetRSType   const [pure virtual]
 

Implements IdeRenderState.

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::GetTexCoordSource long    Stage,
long &    SourceStage,
TextureCoordSource   SourceFlags
[pure virtual]
 

Implemented in deRenderTexture.

virtual long IdeRenderTexture::GetTexCoordSourceCombined long    Stage [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureAddress IdeRenderTexture::GetTextureAddressU long    Stage const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureAddress IdeRenderTexture::GetTextureAddressV long    Stage const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureFilter IdeRenderTexture::GetTextureMagFilter long    Stage const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureFilter IdeRenderTexture::GetTextureMinFilter long    Stage const [pure virtual]
 

Implemented in deRenderTexture.

virtual TextureFilter IdeRenderTexture::GetTextureMipFilter long    Stage const [pure virtual]
 

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::GetTextureProjection long    Stage [pure virtual]
 

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetAlphaArg long    Stage,
long    ArgNum,
TextureArg    Arg
[pure virtual]
 

Set the Texture Stage's alpha input argument

Parameters:
ArgNum min:1 max:3

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetAlphaOperation long    Stage,
TextureOp    AlphaOp
[pure virtual]
 

Set the Texture Stage's alpha operation.

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetBitmap long    Stage,
IdeBitmapProxy   Bitmap
[pure virtual]
 

Set the Texture Stage's source bitmap.

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetColorArg long    Stage,
long    ArgNum,
TextureArg    Arg
[pure virtual]
 

Set the Texture Stage's color input argument

Parameters:
ArgNum min:1 max:3

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetColorOperation long    Stage,
TextureOp    ColorOp
[pure virtual]
 

Set the Texture Stage's color operation.

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetResultTarget long    Stage,
TextureArg    Target
[pure virtual]
 

Set where the result of this operation will go - either PREVIOUS or TEMPREG.

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTexCoordGen long    Stage,
TextureCoordSource    SourcePipe,
long    CopyWrapModeStage = 0
[pure virtual]
 

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTexCoordSource long    Stage,
long    SourceStage
[pure virtual]
 

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureAddressU long    Stage,
TextureAddress    Address
[pure virtual]
 

Set the Texture Stage's U (horizontal) addressing mode.

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureAddressV long    Stage,
TextureAddress    Address
[pure virtual]
 

Set the Texture Stage's V (vertical) addressing mode.

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureMagFilter long    Stage,
TextureFilter    Filter
[pure virtual]
 

Set the Texture Stage's magnification filter (when 1 texel affects more than 1 screen pixel).

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureMinFilter long    Stage,
TextureFilter    Filter
[pure virtual]
 

Set the Texture Stage's minification filter (when more than 1 texel is in a screen pixel).

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureMipFilter long    Stage,
TextureFilter    Filter
[pure virtual]
 

Set the Texture Stage's mipmap filter (when blending between two mipmaps).

Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureProjection long    Stage,
deBoolean    Enable
[pure virtual]
 

Implemented in deRenderTexture.


The documentation for this class was generated from the following file:
Generated on Mon Sep 12 20:16:19 2005 for Destiny3D by doxygen1.3-rc3